package com.torry.edss.domain.model;

import com.torry.boot.starter.mybatisplus.base.Model;
import com.torry.edss.domain.valueobject.QuantityType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalTime;

@Data
public class LimitUp extends Model {

    @ApiModelProperty(value = "涨停日期")
    private LocalDate date;

    @ApiModelProperty(value = "公司id")
    private Long companyId;

    @ApiModelProperty(value = "公司名称")
    private Long companyName;

    @ApiModelProperty(value = "收盘价，即涨停价")
    private BigDecimal price;

    @ApiModelProperty(value = "放量1 缩量2 平量3")
    private QuantityType quantityType;

    @ApiModelProperty(value = "涨幅 单位 %")
    private Double upPercentage;

    @ApiModelProperty(value = "流通市值，单位 元")
    private Double marketValue;

    @ApiModelProperty(value = "成交额 单位 元")
    private Double transactionAmount;

    @ApiModelProperty(value = "封板资金 单位 元")
    private Double sealAmount;

    @ApiModelProperty(value = "封成比(封板资金占总成交额的比例)")
    private Double sealTransactionPercentage;

    @ApiModelProperty(value = "换手率 单位 %")
    private Double turnoverPercentage;

    @ApiModelProperty(value = "封板时间")
    private LocalTime limitTime;

    @ApiModelProperty(value = "最后封板时间")
    private LocalTime lastLimitTime;

    @ApiModelProperty(value = "炸板次数")
    private Integer bombCount;

    @ApiModelProperty(value = "涨停统计 几天几板 格式 x/y  代表y天x板")
    private String stat;

    @ApiModelProperty(value = "连板数")
    private Integer continuousCount;

    @ApiModelProperty(value = "当时是否反包涨停 1是 0否。 若中间有停复牌，不视为反包")
    private Boolean covered;

    @ApiModelProperty(value = "次日是否断板 1是 0否  停牌视为断板")
    private Boolean interrupted;

    @ApiModelProperty(value = "距离上次涨停间隔天数， 停牌时间也计入在内")
    private Integer previousLimitUpIntervalDays;

    @ApiModelProperty(value = "涨停逻辑")
    private String logic;

    @ApiModelProperty(value = "板块/概念 标签id")
    private Long tagId;

    @ApiModelProperty(value = "成交量(手)")
    private Double quantity;

    @ApiModelProperty(value = "前一日成交量")
    private Double previousDayQuantity;
}
